﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using turnos.core.modelo;
using turnos.core.util;

namespace turnos.escritorio
{
    public partial class frmTurno : Form
    {
        private DateTime tiempo;
        private AgendaDeTurnos _agenda;

        public AgendaDeTurnos AgendaSeleccionada
        {
            get { return _agenda; }
            set { _agenda = value; }
        }

        public Byte PuestoSeleccionado { get; set; }

        public frmTurno()
        {
            InitializeComponent();
        }

        private void frmTurno_Load(object sender, EventArgs e)
        {
            tiempo = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 0, 0, 0);
            //AgendaSeleccionada.Puesto = PuestoSeleccionado;
            //AgendaSeleccionada.RefEstado = turnosCts.ID_ESTADO_LLAMAR; 
            //Modelo.TurnosModelo.TurnosC.ActualizarAgenda(AgendaSeleccionada, Modelo.TurnosModelo.Usuario.Usuario);
        }

        private void button1_Click(object sender, EventArgs e)
        {
            AgendaSeleccionada.RefEstado = turnosCts.ID_ESTADO_CONFIRMADO;
            Modelo.TurnosModelo.TurnosC.ActualizarAgenda(AgendaSeleccionada, Modelo.TurnosModelo.Usuario.Usuario);
            this.Close();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            AgendaSeleccionada.PasoPorVisor = false;
            AgendaSeleccionada.RefEstado = turnosCts.ID_ESTADO_A_ATENDER;
            Modelo.TurnosModelo.TurnosC.ActualizarAgenda(AgendaSeleccionada, Modelo.TurnosModelo.Usuario.Usuario);
            this.Close();
        }

        private void ttimer_Tick(object sender, EventArgs e)
        {
            string h = tiempo.Hour != 0 ? tiempo.Hour.ToString() + " hs " : "";
            string m = tiempo.Minute != 0 ? tiempo.Minute.ToString() + " min " : "";
            string s = tiempo.Second != 0 ? tiempo.Second.ToString() + " seg " : "";


            label1.Text = "Tiempo utilizado: " + h + m + s;
            tiempo = tiempo.AddSeconds(1);
        }

        private void txtCodigoBarra_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (e.KeyChar == (char)Keys.Enter && txtCodigoBarra.Text.Length > 0 && this.AgendaSeleccionada.Numero.ToString() == txtCodigoBarra.Text)
                pictureBox1.Visible = true;
            else
                pictureBox1.Visible = false;
        }

        private void button1_Click_1(object sender, EventArgs e)
        {
            AgendaSeleccionada.RefEstado = turnosCts.ID_ESTADO_AUSENTE;
            Modelo.TurnosModelo.TurnosC.ActualizarAgenda(AgendaSeleccionada, Modelo.TurnosModelo.Usuario.Usuario);
            this.Close();
        }

        private void frmTurno_Leave(object sender, EventArgs e)
        {
            
        }
    }

}
